shop.customer = {
	isNotSafePassword: function(password) {
		var strSimplePassword = 'abc123,abc@123,123456,qwerty,qazwsx,1234567,12345678,123456789,1234567890,0123456789,654321,0123456,123abc,abcdef,qwertyuiop,1qaz2wsx,password,111111,iloveyou,123123,ashley,bailey,baseball,dragon,football,letmein,master,michael,monkey,passw0rd,shadow,sunshine,superman,trustno1';
		var ret = true;
		strSimplePassword = ',' + strSimplePassword + ',';
		if (strSimplePassword.indexOf(',' + password + ',') != -1) {
			ret = true;
		} else {
			ret = false;
		}
		return ret;
	},
	logout:function(){
		shop.ajax_popup('act=customer&code=logout',"GET",{},
		function (j) {
			shop.cart.cleanCookieAutoPopupOrder();
			location.reload();
		});
	  return false;
	},
	password:{
		resendPassword:function(email){
			shop.show_overlay_popup('muachung-resend-password', '',
			shop.customer.password.theme.resendPassword('muachung-resend-password', email),
			{
				background: {'background-color' : 'transparent'},
				border: {
					'background-color' : 'transparent',
					'padding' : '0px'
				},
				title: {'display' : 'none'},
				content: {
					'padding' : '0px',
					'width' : shop.is_ie6() ? '325px' : '515px'
				},
				release:function(){
					shop.enter('#forgot_email', shop.customer.password.submit);
				}
			});
		},
		submit:function(){
			var email = shop.util_trim(jQuery('#forgot_email').val());
			if(email == ''){
				shop.error.set('#forgot_email', 'Chưa nhập email', 475, '.forgot_pasword');
				return false;
			}
			else if(!shop.is_email(email)){
				shop.error.set('#forgot_email', 'Email không hợp lệ', 475, '.forgot_pasword');
				return false;
			}
			else{
				shop.error.close('#forgot_email', '.forgot_pasword');
			}
			shop.ajax_popup('act=customer&code=resend-pass',"GET",{email: email},
			function (j) {
				if (j.err == 0 && j.msg == 'success') {
					shop.hide_overlay_popup('muachung-resend-password');
					alert("Kiểm tra email "+email+" và làm theo hướng dẫn để lấy lại mật khẩu.");
				}else{
					shop.error.set('#forgot_email', j.msg, 475, '.forgot_pasword');
				}
			});
			return true;
		},
		submitFormResendPassword: function(frm){
			if(frm.pass.value == ''){
				frm.pass.focus();
				alert('Chưa nhập mật khẩu');
				return false;
			}else if(frm.pass.value.length < 6){
				frm.pass.focus();
				alert('Mật khẩu tối thiểu phải có 6 kí tự');
				return false;
			}else if(shop.customer.isNotSafePassword(frm.pass.value)) {
				frm.pass.focus();
				alert('Mật khẩu không an toàn');
				return false;
			} else if(frm.pass1.value == ''){
				frm.pass1.focus();
				alert('Chưa nhập lại mật khẩu');
				return false;
			}else if(frm.pass1.value != frm.pass.value){
				frm.pass1.focus();
				alert('Nhập lại mật khẩu không chính xác');
				return false;
			}
			frm.submit();
			return true;
		},
		theme:{
			resendPassword:function(id, email){
				return shop.popupSite(id, 'Quên mật khẩu', shop.join
					('<div class="content forgot_pasword" style="padding:20px 0">')
						('<div id="cError"></div>')
						('<table cellpadding="0" cellspacing="5">')
							('<tr>')
								('<td align="center" width="30%" colspan="3">Nhập Email đã đăng kí để nhận thông tin hỗ trợ lấy lại mật khẩu</td>')
							('</tr>')
							('<tr>')
								('<td align="right" width="30%"></td>')
								('<td align="left"><input class="mTop10" type="text" id="forgot_email" name="email" style="font-size:14px;color:#666666;border:1px solid #cccccc;width:270px;padding-left:8px;height:31px;line-height:31px" value="'+(email?email:'')+'" /></td>')
								('<td align="left" width="30%"></td>')
							('</tr>')
							('<tr>')
								('<td align="left"></td>')
								('<td align="left">')
									('<a class="v7_blueButton mTop10" style="width:250px" onclick="shop.customer.password.submit()" href="javascript:void(0)"><span><span>Gửi đi</span></span></a>')
								('</td>')
								('<td align="left"></td>')
							('</tr>')
						('</table>')
					('</div>')()
				);
			}
		}
	},
	active:{
		phone:function(){
			if(query_string.indexOf('profile') == -1){
				shop.show_overlay_popup('muachung-active-phone', '',
				shop.customer.active.theme.phoneActiveNotify('muachung-active-phone'),
				{
					background: {'background-color' : 'transparent'},
					border: {
						'background-color' : 'transparent',
						'padding' : '0px'
					},
					title: {'display' : 'none'},
					content: {
						'padding' : '0px',
						'width' : '500px'
					}
				});
			}
		},
		phoneSendCode:function(no_reload,type){
			var run = false, time_load = 10; //time tinh theo giay
			var cid	= 0;
			if(!shop.is_exists(shop._store.variable['run_send_phone'])){
				run = true;
			}else if(shop._store.variable['run_send_phone'] == 0){
				run = true;
			}
			if(type){
				cid = jQuery('#reg_code').val();
			}
			if(run){
				if(no_reload&&type==0){}else{
					jQuery('.button_phone').hide();
					jQuery('.loading_phone').show();
				}
				shop.ajax_popup('act=customer&code=send-active-code',"GET",{resend:no_reload?1:0,type:type?1:0,cid:cid},
				function (j) {
					shop._store.variable['run_send_phone'] = 0;
					if (j.err == 0) {
						shop.show_loading('Đang gửi tin nhắn vào số <b>'+CUSTOMER_PHONE+'</b>...');
						setTimeout(function(){
							shop.hide_loading();
							if(no_reload&&type==0){
								alert('Mã kích hoạt đã được gửi đến số điện thoại: '+CUSTOMER_PHONE);
							}else{
								if(type==1){
									jQuery('.button_phone').show();
									jQuery('.loading_phone').hide();
									alert("Mã xác nhận đã được gửi. Bạn có thể nhập mã xác nhận để kích hoạt tài khoản hoặc chờ thêm 3 tiếng nữa để gửi lại mã xác nhận khác");
								}else{
									 shop.customer.active.phoneCode();
								}
							}
						}, time_load*1000);
					}else{
						var msg = '';
						switch (j.msg){
							case 'not_login':msg = 'Vui lòng đăng nhập để sử dụng chức năng này!!!';break;
							case 'no_otp':msg = 'Hệ thống đang quá tải!!!';break;
							case 'false':msg = 'Hệ thống tin nhắn qua tải! Không gửi được mã kích hoạt';break;
							case 'max':msg = 'Quý khách đã nhận đủ tin nhắn kích hoạt trong ngày. Vui lòng thử lại vào ngày hôm sau.';break;
						}
						jQuery('.loading_phone').hide();
						jQuery('.button_phone').show();
						alert(msg);
					}
				},
				{
					loading: function(){
						shop.show_loading('Đang gửi tin nhắn vào số <b>'+CUSTOMER_PHONE+'</b>...');
						shop._store.variable['run_send_phone'] = 1;
					}
				});
			}
		},
		phoneCode:function(){
			shop.show_overlay_popup('muachung-phone-code', '',
			shop.customer.active.theme.phoneCode('muachung-phone-code'),
			{
				background: {'background-color' : 'transparent'},
				border: {
					'background-color' : 'transparent',
					'padding' : '0px'
				},
				title: {'display' : 'none'},
				content: {
					'padding' : '0px',
					'width' : '500px'
				}
			});
		},
		finishActivePhone:function(){
			var code = jQuery('.phone_code').val();
			if(code.length < 6){
				alert('Mã kích hoạt không hợp lệ!!!');
			}else{
				shop.ajax_popup('act=customer&code=check-active-code',"GET",{otp:code},
				function (j) {
					if (j.err == 0) {
						shop.hide_overlay_popup('muachung-phone-code');
						alert('Cám ơn Quý khách đã kích hoạt thành công số điện thoại trên MuaChung');
					}else{
						var msg = '';
						switch (j.msg){
							case 'not_login':msg = 'Vui lòng đăng nhập để sử dụng chức năng này!!!';break;
							case 'no_otp':msg = 'Mã kích hoạt không hợp lệ!!!';break;
							case 'expired':msg = 'Mã kích hoạt đã hết hạn!!!';break;
							default:msg = j.msg;
						}
						alert(msg);
					}
				});
			}
		},
		send:function(email){
			shop.show_overlay_popup('muachung-resend-active', '',
			shop.customer.active.theme.sendActive('muachung-resend-active', email),
			{
				background: {'background-color' : 'transparent'},
				border: {
					'background-color' : 'transparent',
					'padding' : '0px'
				},
				title: {'display' : 'none'},
				content: {
					'padding' : '0px',
					'width' : shop.is_ie6() ? '325px' : '315px'
				},
				release:function(){
					shop.enter('#active_email', shop.customer.active.submit);
				}
			});
		},
		submit:function(){
			var email = shop.util_trim(jQuery('#active_email').val());
			if(email == ''){
				shop.error.set('#active_email', 'Chưa nhập email', 230, '.active_email');
				return false;
			}else if(!shop.is_email(email)){
				shop.error.set('#active_email', 'Email không hợp lệ', 230, '.active_email');
				return false;
			}else{
				shop.error.close('#active_email', '.active_email');
			}
			shop.ajax_popup('act=customer&code=resend-active',"GET",{email: email},
			function (j) {
				if (j.err == 0 && j.msg == 'success') {
					shop.hide_overlay_popup('muachung-resend-active');
					alert("Thông tin kích hoạt đã được gửi vào "+email+"\nQuý khách vui lòng làm theo hướng dẫn trong email");
				}else{
					alert(j.msg);
				}
			});
			return true;
		},
		theme:{
			sendActive:function(id, email){
				return shop.popupSite(id, 'Kích hoạt tài khoản', shop.join
					('<div class="content active_email" style="padding:1px 20px 10px">')
						('<div id="cError"></div>')
						('<div class="label mTop10">Email của Quý khách:</div>')
						('<div class="input-txt" style="width:260px">')
							('<input type="text" id="active_email" name="email" class="txt" style="width:250px" value="'+(email?email:'')+'" />')
						('</div>')
						('<div class="f11">Vui lòng nhập đúng email để nhận được thông tin kích hoạt tài khoản</div>')
						('<div class="mTop10">')
							('<div style="width:205px;margin:0 auto">')
								('<a id="fr" class="blueButton mLeft10" onclick="shop.hide_overlay_popup(\''+id+'\')" href="javascript:void(0)"><span><span>Hủy bỏ</span></span></a>')
								('<a id="fr" class="blueButton" onclick="shop.customer.active.submit()" href="javascript:void(0)"><span><span>Nhận kích hoạt</span></span></a>')
								('<div class="c"></div>')
							('</div>')
						('</div>')
					('</div>')()
				);
			},
			phoneActiveNotify:function(id){
				//show = show ? '' : '<div class="mTop15 f11"><input type="checkbox" id="no_alert_later" class="m0" /> <label for="no_alert_later" style="cursor:pointer" >Không nhận thông báo này lần sau</label></div>';
				//show = '<div class="mTop15 f11"><input type="checkbox" id="no_alert_later" class="m0" /> <label for="no_alert_later" style="cursor:pointer" >Không nhận thông báo này lần sau</label></div>';
				return shop.popupSite(id, 'Kích hoạt số điện thoại', shop.join
					('<div class="content" style="color:#000;padding:20px 35px">')
						('<div class="f14" style="padding:15px 30px;background-color: #fff7c9">')
							('<b>Quý khách đã đăng kí số điện thoại: <span style="font-size:18px;color:red">'+CUSTOMER_PHONE+'</span></b>')
						('</div>')
						('<div class="f12 mTop10" style="color:#6c6c6c;line-height:25px">')
							('<b>Số điện thoại này sẽ được dùng để MuaChung liên lạc với Quý khách và để Quý khách nhận Phiếu mua hàng điện tử qua <span class="f14">SMS</span></b>')
						('</div>')
						('<div class="mt28">')
							('<div class="fr">')
								('<a class="blueButton mLeft10 button_phone" onclick="shop.customer.active.phoneSendCode()" href="javascript:void(0)"><span><span>Tiếp tục >></span></span></a>')
								('<div class="loading_phone hidden" style="height:32px;line-height:32px;padding:0 0 0 20px;background:url(style/images/icon/loading.gif) no-repeat left center;color:#00A0DC">Đang gửi <b>SMS</b>...</div>')
							('</div>')
							('<div class="fr" style="line-height:32px;height:32px">')
								('<a href="'+BASE_URL+'/ca-nhan/dia-chi-nhan-hang.html?cphone" style="text-decoration:underline"><b>[Đổi số điện thoại khác]</b></a>')
								('<b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hoặc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b>')
							('</div>')
							('<div class="c"></div>')
						('</div>')
					('</div>')()
				);
			},
			phoneCode:function(id){
				return shop.popupSite(id, 'Kích hoạt số điện thoại', shop.join
					('<div class="content" style="color:#000;padding:20px">')
						('<div>')
							('<b>Mã số kích hoạt đã được gửi đến số: &nbsp;<span style="font-size:18px;color:red">'+CUSTOMER_PHONE+'</span></b>')
						('</div>')
						('<div class="mt28 f14" style="padding:15px 25px;background-color: #fff7c9">')
							('<div><b>Vui lòng nhập mã kích hoạt nhận được qua SMS vào đây:</b></div>')
							('<div class="mTop10">')
								('<div class="fl"><input type="text" class="phone_code" style="border:1px solid #969696;height:26px;width:170px;font-weight:bold;font-size:18px;padding:1px 5px" /></div>')
								('<div class="fl f11 mLeft10" style="color:#4d4b50;height:28px;line-height:28px">(Không nhận được mã? <a href="javascript:shop.customer.active.phoneSendCode(true)" id="11" style="color:#004acf;text-decoration:underline"><b>Bấm vào đây!</b></a>)</div>')
								('<div class="c"></div>')
							('</div>')
						('</div>')
						('<div class="mt28">')
							('<a id="fr" class="blueButton mLeft10" onclick="shop.customer.active.finishActivePhone()" href="javascript:void(0)"><span><span>Tiếp tục >></span></span></a>')
							('<div class="c"></div>')
						('</div>')
					('</div>')()
				);
			}
		}
	},
	loginHeader: function(){
		shop.customer.login.submit('customer_email','customer_password','customer_save_login',false);
		return false;
	},
	loginPopup: function(){
		shop.customer.login.submit('login_email','login_pass','save_login',true);
		return false;
	},
	loginMix: function(){
		shop.customer.login.submit('login_email1','login_pass1','save_login1',true);
		return false;
	},
	login : {
		conf:{
			cb: null,
			show_pop_city:0
		},
		show:function(){
			if(IS_CUSTOMER_LOGIN){
				alert('Quý khách đã đăng nhập thành công!');
			}else{
				shop.show_overlay_popup('muachung-login', 'Đăng nhập',
				shop.customer.login.theme.form('muachung-login', 'Đăng nhập'),
				{
					background: {
						'background-color' : 'transparent'
					},
					border: {
						'background-color' : 'transparent',
						'padding' : '0px'
					},
					title: {
						'display' : 'none'
					},
					content: {
						'padding' : '0px',
						'width' : '640px'
					},
					release:function(){
						shop.customer.login.conf.show_pop_city = 0;
					},
					onclose:function(){
						shop.customer.login.cancel(true);
					}
				});
			}
		},
		cancel:function(fclose){
			if(fclose == undefined){
				shop.hide_all_popup();
			}
			//kiem tra neu khach hang bam tu link quang cao ve thi bat nhap email
			if(shop.customer.login.conf.show_pop_city == 0){
				if(shop.header.ads.conf.email == 1){
					shop.customer.login.conf.show_pop_city = 1;
					setTimeout(shop.header.ads.start, 333);
				}else{
					//kiem tra neu chua co cookie tinh thanh thi hien thi pop bat nhap tinh thanh
					if(shop.header.city.conf.city == 0){
						shop.customer.login.conf.show_pop_city = 1;
						setTimeout(shop.header.city.start, 333);
					}
				}
			}
		},
		toRegister:function(){
			shop.customer.login.conf.show_pop_city = 1;
			shop.customer.login.conf.check_status = 1;
			shop.customer.register.show();
			shop.customer.login.conf.check_status = 0;
		},
		valid:function(id_email, id_pass , popup){
			var jemail = '#'+id_email;
			var jpass = '#'+id_pass;
			var email = shop.util_trim(jQuery(jemail).val());
			
			if(email == '' || email == 'email đăng nhập'){
				var $msg = 'Chưa nhập email hoặc số điện thoại!';
				if(!popup){
					shop.show_popup_message($msg, "Đăng nhập thất bại", -1);
				}
				else{
					shop.error.set(jemail, $msg, 510, '.login_form');
				}
				return false;
			}
			//else if(!shop.is_email(email)){
				//var $msg = 'Email không hợp lệ!';
				//if(!popup){
				//	shop.show_popup_message($msg, "Đăng nhập thất bại", -1);
				//}
				//else{
				//	shop.error.set(jemail, $msg, 510, '.login_form');
				//}
				//return false;
			//}else{
			//	shop.error.close(jemail, '.login_form');
			//}
			var pass = shop.util_trim(jQuery(jpass).val());
			if(pass == ''){
				var $msg = 'Chưa nhập mật khẩu!';
				if(!popup){
					shop.show_popup_message($msg, "Đăng nhập thất bại", -1);
				}
				else{
					shop.error.set(jpass, $msg, 510, '.login_form');
				}
				return false;
			}else if(pass.length < 6){
				var $msg = 'Mật khẩu tối thiểu phải có 6 kí tự!';
				if(!popup){
					shop.show_popup_message($msg, "Đăng nhập thất bại", -1);
				}
				else{
					shop.error.set(jpass, $msg, 510, '.login_form');
				}
				return false;
			}
			return true;
		},
		submit: function(id_email, id_pass , id_save, popup){
			if(shop.customer.login.valid(id_email,id_pass,popup)){
				var responseMsg = '';
				var jemail = '#'+id_email;
				var jpass = '#'+id_pass;
				var save = shop.get_ele(id_save);
				var cookie = save.checked ? 'on' : 'off';
				var post = {
					email: shop.util_trim(jQuery(jemail).val()),
					pass: shop.util_trim(jQuery(jpass).val()),
					save: cookie,
					city: shop.customer.login.conf.cb ? 1 : 0,
					auto_popup_order: (typeof LOGIN_TO_ORDER !== 'undefined' && LOGIN_TO_ORDER === 1) ? 1 : 0
				};
				shop.ajax_popup('act=customer&code=login','POST',post,
					function(j){
						if (j.err == 0 && j.msg == 'success') {
							if(shop.customer.login.conf.cb){
								shop.customer.login.conf.cb(j);
							}else{
								var currentURL = location.href;
								if(j.is_active_mail==0 && currentURL.indexOf('auto_popup_order=1') == -1){
								   shop.show_overlay_popup('alert-enabled', 'Xác thực Email',
										shop.popupSite('alert-enabled', 'Xác thực Email',
											shop.join
											('<div class="p20" style="padding-bottom:5px">')
													('<div style="line-height:24px">Bạn chưa xác thực email '+j.email+'. Vui lòng kiểm tra email và làm theo hướng dẫn để xác thực.</div>')
													('<div class="mTop15" style="color:red">Nếu bạn không tìm thấy email, hãy kiểm tra trong Thư rác/Spam/Junk mail</div>')
													('<div class="mTop15"><a style="color:blue;text-decoration:underline" onclick="shop.customer.login.changeEmail()" href="javascript:void(0)">Thay đổi địa chỉ email khác</a></div>')
													('<div class="mTop15" align="center"><table><tr><td><a class="blueButton" onclick="shop.hide_overlay_popup(\'alert-enabled\');location.reload();" href="javascript:void(0)"><span><span>Đóng cửa sổ</span></span></a></td></tr></table></div>')
											('</div>')()),
											{
													background: {
															'background-color' : 'transparent'
													},
													border: {
															'background-color' : 'transparent',
															'padding' : '0px'
													},
													title: {
															'display' : 'none'
													},
													content: {
															'padding' : '0px',
															'width' : '600px'
													}
											});
								}else{
									if (typeof j.auto_popup_order !== 'undefined' && j.auto_popup_order === 1) {
										location.href = document.URL.indexOf('?') == -1 ?
											document.URL + '?auto_popup_order=1' : document.URL + '&auto_popup_order=1';
									} else {
										location.reload();
									}
								}
							}
						} else {
							responseMsg = j.msg;
							switch(j.msg){
								case 'un_active':
									j.msg = '<font color="red">Bạn chưa xác thực email khi đăng ký.Vui lòng kiểm tra email hoặc nhấn vào đây để <a href="javascript:void(0)" onclick="shop.customer.active.send(\''+j.email+'\')">kích hoạt</a></font>';
								break;
								case 'un_activephone':
									CUSTOMER_PHONE = j.phone;
									shop.show_overlay_popup('alert-enabled', 'Kích hoạt tài khoản',
											shop.popupSite('alert-enabled', 'Kích hoạt tài khoản',
												shop.customer.login.theme.sendotpTheme(j.id)),
												{
													background: {
														'background-color' : 'transparent'
													},
													border: {
														'background-color' : 'transparent',
														'padding' : '0px'
													},
													title: {
														'display' : 'none'
													},
													content: {
														'padding' : '0px',
														'width' : '510px'
													}
												}
										);
								break;
								case 'blocked'  :
									j.msg = '<font color="red">Muachung đã khóa tài khoản '+j.more.block_day+' ngày</font>';
									j.msg+= '<div class="mTop5"><b><u>Lí do</u>:</b> <font color="red">'+j.more.block_reason+'</font></div>';
								break;
								case 'nodata'   :j.msg = 'Tài khoản hoặc mật khẩu không hợp lệ';break;
								case 'err_pass' :
									j.msg = 'Mật khẩu sai, <a href="javascript:void(0)" onclick="shop.customer.password.resendPassword(\''+j.email+'\')">Quý khách đã quên mật khẩu?</a>';
									if((j.email != post.email) && (j.email == (post.email+'@muachung.vn'))){
										j.msg = 'Mật khẩu sai! Nếu Quý khách quên mật khẩu vui lòng liên hệ với Muachung';
									}
								break;
								case 'err_user' :j.msg = 'Không tồn tại tên đăng nhập này';break;
								case 'in_email' :j.msg = 'Địa chỉ mail không hợp lệ';break;
								case 'sale_changeEmail' :
									shop.show_overlay_popup('alert-enabled', 'Kích hoạt tài khoản',
										shop.popupSite('alert-enabled', 'Kích hoạt tài khoản',
											shop.join
											('<div class="p20">')
												('<div class="chageEmail" align="center">')
													('<div id="cError"></div>')
													('<table cellpadding="0" cellspacing="5">')
														('<tr>')
															('<td align="center" colspan="3" height="35" >Vui lòng nhập email để kích hoạt tài khoản</td>')
														('</tr>')
														('<tr>')
															('<td align="right" width="30%"><input value="'+j.id+'" type="hidden" id="reg_id" name="reg_id" /></td>')
															('<td align="left"><input style="font-size:14px;color:#666666;border:1px solid #cccccc;width:270px;padding-left:8px;height:31px;line-height:31px" type="text" id="reg_email" name="reg_email" /></td>')
															('<td align="left" width="30%"></td>')
														('</tr>')
														('<tr>')
															('<td align="left"></td>')
															('<td align="left">')
																('<a href="javascript:void(0)" onclick="shop.customer.login.changeEmailSale()" style="width:250px" class="v7_blueButton mTop10"><span><span>Nhận Email kích hoạt</span></span></a>')
															('</td>')
															('<td align="left"></td>')
														('</tr>')
													('</table>')
												('</div>')
											('</div>')()),
											{
													background: {
															'background-color' : 'transparent'
													},
													border: {
															'background-color' : 'transparent',
															'padding' : '0px'
													},
													title: {
															'display' : 'none'
													},
													content: {
															'padding' : '0px',
															'width' : '430px'
													}
									});
								break;
							}
							if (popup === 'FROM_ORDER' && responseMsg != 'un_active' && responseMsg != 'un_activephone') {
								var userMsg = '';
								switch (responseMsg) {
									case 'nodata':
										userMsg = 'Tài khoản hoặc mật khẩu không hợp lệ';
										break;
									case 'err_pass':
										userMsg = 'Mật khẩu sai';
										break;
									case 'blocked':
										userMsg = 'Tài khoản đang bị khóa';
										break;
									case 'err_user':
										userMsg = 'Không tồn tại tên đăng nhập này';
										break;
									default:
										userMsg = 'Có lỗi xảy ra. Quý khách vui lòng thử lại sau';
								}
								alert(userMsg);
							} else if(!popup){
								shop.show_overlay_popup('sys-alert', '',
								shop.popupSite('sys-alert', 'Hệ thống', shop.join
														('<div class="content" style="padding:20px">')
															('<div style="color:red"><b>Đăng nhập không thành công !!!</b></div>')
															('<div class="f12 mTop10"><b><u>Nguyên nhân</u>:</b> '+j.msg+'</div>')
														('</div>')()),
								{
									background: {'background-color' : 'transparent'},
									border: {
										'background-color' : 'transparent',
										'padding' : '0px'
									},
									title: {'display' : 'none'},
									content: {
										'padding' : '0px',
										'width' : '400px'
									}
								});
							}
							else{
								shop.error.set('', j.msg, 510, '.login_form');
							}
						  
						}
					});
			}
		},
		changeEmailSale:function(){
			var email = shop.util_trim(jQuery('#reg_email').val());
			var id = shop.util_trim(jQuery('#reg_id').val());
			if(email == ''){
				shop.error.set('#reg_email', 'Chưa nhập email', 360, '.chageEmail');
				return false;
			}else if(!shop.is_email(email)){
				shop.error.set('#reg_email', 'Email không hợp lệ', 360, '.chageEmail');
				return false;
			}else if(id == ''){
				shop.error.set('#reg_email', 'Có lỗi xảy ra mời bạn f5 lại trang và thao tác lại.Cảm ơn!', 360, '.chageEmail');
				return false;
			}else{
				shop.error.close('#reg_email', '.chageEmail');
				shop.ajax_popup('act=customer&code=changeEmailSale','POST',{email: email,id:id},function(json){
					if (json.err == 0 && json.msg == 'success') {
						shop.show_overlay_popup('alert-enabled', 'Kích hoạt tài khoản',
							shop.popupSite('alert-enabled', 'Kích hoạt tài khoản',
								shop.join
								('<div class="p20">')
									('<div class="f13 chageEmail" align="center" style="line-height:24px">')
										('<div>Link xác thực đã được gửi đến Email <b>'+email+'</b></div>')
										('<div>Bạn vui lòng kiểm tra <b>'+email+'</b> và làm theo hướng dẫn để xác thực</div>')
										('<div style="color:red;font-weight:bold" class="f16">Nếu bạn không tìm thấy email, hãy kiểm tra trong Thư rác/Spam/Junk mail</div>')
										('<div class="mTop15" align="center"><table><tr><td><a href="javascript:void(0)" onclick="shop.hide_overlay_popup(\'alert-enabled\');" style="width:150px" class="v7_blueButton mTop10"><span><span>Đóng cửa sổ</span></span></a></td></tr></table></div>')
									('</div>')
								('</div>')()),
								{
										background: {
												'background-color' : 'transparent'
										},
										border: {
												'background-color' : 'transparent',
												'padding' : '0px'
										},
										title: {
												'display' : 'none'
										},
										content: {
												'padding' : '0px',
												'width' : '630px'
										}
						});
					}else{
						switch(json.msg){
							case 'isbuyer'		:json.msg = 'Email này đã tồn tại trên hệ thống, bạn không thể đổi Email';break;
							case 'false'		:json.msg = 'Địa chỉ email không hợp lệ';break;
							case 'active'		:json.msg = 'Email của bạn đã được xác thực bạn, bạn không thể đổi Email';break;
							case 'not-exit'		:json.msg = 'Email này đã được đăng ký';break;
							case 'falseChange60':json.msg = 'Bạn phải chờ 60ph để thay đổi email khác';break;
						}
						shop.error.set('#reg_email', json.msg, 360, '.chageEmail');
					}
				});
			}
			return true;
		},
		changeEmail:function(type){
			if(type==1){
				var email = shop.util_trim(jQuery('#reg_email').val());
				if(email == ''){
					shop.error.set('#reg_email', 'Chưa nhập email', 360, '.chageEmail');
					return false;
				}else if(!shop.is_email(email)){
					shop.error.set('#reg_email', 'Email không hợp lệ', 360, '.chageEmail');
					return false;
				}else{
					shop.error.close('#reg_email', '.chageEmail');
					shop.ajax_popup('act=customer&code=changeEmail','POST',{email: email},function(json){
						if (json.err == 0 && json.msg == 'success') {
							shop.show_overlay_popup('alert-enabled', 'Đổi Email',
								shop.popupSite('alert-enabled', 'Đổi Email',
									shop.join
									('<div class="p20">')
										('<div class="f13 chageEmail" align="center" style="line-height:24px">')
											('<div>Link xác thực đã được gửi đến Email <b>'+email+'</b></div>')
											('<div>Bạn vui lòng kiểm tra <b>'+email+'</b> và làm theo hướng dẫn để xác thực</div>')
											('<div style="color:red;font-weight:bold" class="f16">Nếu bạn không tìm thấy email, hãy kiểm tra trong Thư rác/Spam/Junk mail</div>')
											('<div class="mTop15" align="center"><table><tr><td><a href="javascript:void(0)" onclick="shop.hide_overlay_popup(\'alert-enabled\');" style="width:150px" class="v7_blueButton mTop10"><span><span>Đóng cửa sổ</span></span></a></td></tr></table></div>')
										('</div>')
									('</div>')()),
									{
											background: {
													'background-color' : 'transparent'
											},
											border: {
													'background-color' : 'transparent',
													'padding' : '0px'
											},
											title: {
													'display' : 'none'
											},
											content: {
													'padding' : '0px',
													'width' : '630px'
											}
							});
						}else{
							switch(json.msg){
								case 'not_login'	:json.msg = 'Bạn hãy đăng nhập để sử dụng chức năng này';break;
								case 'isbuyer'		:json.msg = 'Email này đã tồn tại trên hệ thống, bạn không thể đổi Email';break;
								case 'false'		:json.msg = 'Địa chỉ email không hợp lệ';break;
								case 'active'		:json.msg = 'Email của bạn đã được xác thực bạn, bạn không thể đổi Email';break;
								case 'not-exit'		:json.msg = 'Email này đã được đăng ký';break;
								case 'falseChange60':json.msg = 'Bạn phải chờ 60ph để thay đổi email khác';break;
							}
							shop.error.set('#reg_email', json.msg, 360, '.chageEmail');
						}
					});
				}
			}else{
				shop.show_overlay_popup('alert-enabled', 'Đổi Email',
					shop.popupSite('alert-enabled', 'Đổi Email',
						shop.join
						('<div class="p20">')
							('<div class="f13 chageEmail" align="center">')
								('<div id="cError"></div>')
								('<table cellpadding="0" cellspacing="5">')
									('<tr>')
										('<td align="right" width="30%"></td>')
										('<td align="center">Nhập email mới</td>')
										('<td align="left" width="30%"></td>')
									('</tr>')
									('<tr>')
										('<td align="right" width="30%"></td>')
										('<td align="left"><input style="width:198px" type="text" id="reg_email" name="reg_email" /></td>')
										('<td align="left" width="30%"></td>')
									('</tr>')
									('<tr>')
										('<td align="left"></td>')
										('<td align="left">')
											('<a class="blueButton mTop10" onclick="shop.customer.login.changeEmail(1)" href="javascript:void(0)"><span><span style="width:184px">Thay đổi</span></span></a>')
										('</td>')
										('<td align="left"></td>')
									('</tr>')
									('<tr>')
										('<td align="left"></td>')
										('<td align="center">')
											('<a id="v7resend" onclick="shop.hide_overlay_popup(\'alert-enabled\');location.reload();" href="javascript:void(0)">Bỏ qua</a>')
										('</td>')
										('<td align="left"></td>')
									('</tr>')
								('</table>')
							('</div>')
						('</div>')()),
						{
								background: {
										'background-color' : 'transparent'
								},
								border: {
										'background-color' : 'transparent',
										'padding' : '0px'
								},
								title: {
										'display' : 'none'
								},
								content: {
										'padding' : '0px',
										'width' : '430px'
								}
				});
			}
			return true;
		},
		theme:{
			sendotpTheme:function(cid){
				var html = '';
				html = shop.join
				('<div class="p20" style="padding-bottom:5px" align="center">')
					('<div class="mBottom10" style="color:red;font-size:16px">Tài khoản chưa được kích hoạt</div>')
					('<div style="font-size:14px">Vui lòng nhập mã kích hoạt vào ô bên dưới</div>')
					('<div class="reg_collapse mTop15 f13" align="center">')
						('<table cellpadding="0" cellspacing="5">')
							('<tr>')
								('<td align="right" width="30%"></td>')
								('<td align="left"><input type="text" id="reg_enabled" name="reg_enabled" /><input class="mLeft20" type="hidden" id="reg_code" name="reg_code" value="'+cid+'" /></td>')
								('<td align="left" width="30%"></td>')
							('</tr>')
							('<tr>')
								('<td align="left"></td>')
								('<td align="left">')
									('<a class="v7_blueButton mTop10 mBottom15" onclick="shop.customer.register.activeEnabledPhone(1)" style="width:184px;color:#FFF;font-size:16px" href="javascript:void(0)"><span><span>Kích hoạt</span></span></a>')
								('</td>')
								('<td align="left"></td>')
							('</tr>')
							('<tr height="35px">')
								('<td align="left"></td>')
								('<td align="center">')
									('<a id="v7resend" class="button_phone mTop10 mBottom15 " onclick="shop.customer.active.phoneSendCode(true,1)" style="font-size:13px" href="javascript:void(0)">Gửi lại mã kích hoạt mới</a>')
									('<div class="loading_phone hidden" style="height:32px;line-height:32px;padding:0 0 0 20px;background:url(style/images/icon/loading.gif) no-repeat left center;color:#00A0DC;width:106px">Đang gửi <b>SMS</b>...</div>')
								('</td>')
								('<td align="left"></td>')
							('</tr>')
						('</table>')
				('</div>')();
				return html;
			},
			form:function(id, title, close, opt, txt){
				var html = shop.join
				('<form onsubmit="return shop.customer.loginPopup();" method="post" id="customer_login_form">')
					('<div class="content login_form" style="padding:1px 0 0">')
						('<div id="cError" class="mTop15"></div>')
						('<div class="mTop10">')
							('<table cellpadding="0" cellspacing="5" width="100%">')
								('<tr>')
									('<td align="left" width="161"><span class="mLeft40">Email/ Điện thoại:</span></td>')
									('<td width="280"><input style="font-size:14px;color:#666666;border:1px solid #cccccc;width:270px;padding-left:8px;height:31px;line-height:31px" type="text" id="login_email" name="email" /></td>')
									('<td width="161">&nbsp;</td>')
								('</tr>')
								('<tr>')
									('<td align="left"><span class="mLeft40">Mật khẩu:</span></td>')
									('<td><input style="font-size:14px;color:#666666;border:1px solid #cccccc;width:270px;padding-left:8px;height:31px;line-height:31px" type="password" id="login_pass" name="pass" /></td>')
									('<td></td>')
								('</tr>')
								('<tr>')
									('<td></td>')
									('<td align="left">')
										('<div class="mTop10">')
											('<input type="checkbox" id="save_login" class="m0" />')
											('<span class="login_oke pLeft5" onclick="shop.customer.login.theme.check()">Nhớ mật khẩu</span>')
										('</div>')
									('</td>')
									('<td></td>')
								('</tr>')
							('</table>')
						('</div>')
						('<div class="mTop10">')
							('<div style="width:280px;margin:0 auto">')
								('<a id="fr" style="color:#006aa6" class="closeButtonLogin" st onclick="shop.customer.password.resendPassword()" href="javascript:void(0)">Quên mật khẩu?</a>')
								('<a id="fl" class="v7_blueButton" onclick="shop.customer.loginPopup()" href="javascript:void(0)"><span><span>Đăng nhập</span></span></a>')
								('<input type="submit" onclick="shop.customer.loginPopup();" value="" class="hidden" />')
								('<div class="c"></div>')
							('</div>')
						('</div>')
						('<div class="mTop15" style="padding:15px 0;background:#fefbc4;border-top:1px solid #d5d0cd" align="center">')
							('<div class="f14"><b style="color:#333">Chưa có tài khoản?</b></div>')
							('<table class="mTop10"><tr><td><a class="v7_orangeButtonRegis" style="width:216px" onclick="shop.customer.login.toRegister()" href="javascript:void(0)"><span>Đăng ký</span></a></td></tr></table>')
							('<div class="c"></div>')
						('</div>')
					('</div>')
				('</form>')();
				if(txt){
					return html;
				}
				return shop.popupSite(id, title, html, close, opt);
			},
			check:function(){
				var c = shop.get_ele('save_login');
				if(c){
					c.checked = !c.checked
				}
			}
		}
	},
	register : {
		show:function(){
			shop.show_overlay_popup('muachung-register', 'Đăng kí',
			shop.customer.register.theme.form('muachung-register', 'Đăng kí'),
			{
				background: {
					'background-color' : 'transparent'
				},
				border: {
					'background-color' : 'transparent',
					'padding' : '0px'
				},
				title: {
					'display' : 'none'
				},
				content: {
					'padding' : '0px',
					'width' : '640px',
					'font-size': '14px'
				},
				release:function(){
					shop.enter('#reg_full_name', shop.customer.register.submit);
					shop.enter('#reg_email', shop.customer.register.submit);
					shop.enter('#reg_pass', shop.customer.register.submit);
					shop.enter('#reg_pass1', shop.customer.register.submit);
					//check show pop if no city
					shop.customer.login.conf.show_pop_city = 0;
				},
				onclose:function(){
					shop.customer.login.cancel(true);
				}
			});
		},
		cancel:function(){shop.customer.login.cancel()},
		valid:function(){
			//var reg_oke = shop.get_ele('reg_oke');
			//if(reg_oke && !reg_oke.checked){
			//	shop.error.set('#reg_oke', 'Vui lòng chấp nhận các điều khoản & quy định của Muachung.vn', 430, '.register_form');
			//	return false;
			//}
			var name = shop.util_trim(jQuery('#reg_full_name').val());
			if(name == ''){
				shop.error.set('#reg_full_name', 'Chưa nhập họ tên', 530, '.register_form');
				return false;
			} else if (name.length < 3) {
				shop.error.set('#reg_full_name', 'Họ tên dài ít nhất 3 ký tự', 530, '.register_form');
				return false;
			} else if (name.match(/['"><=&?!~%+{}[\]|`()@#$^*-/\\,.]/i) != null) {
				shop.error.set('#reg_full_name', 'Họ tên không được chứa các ký tự đặc biệt', 530, '.register_form');
				return false;
			}else{
				shop.error.close('#reg_full_name', '.register_form');
			}
			var reg_phone = shop.util_trim(jQuery('#reg_phone').val());
			if(reg_phone == ''){
				shop.error.set('#reg_phone', 'Chưa nhập số điện thoại', 530, '.register_form');
				return false;
			}else if(!shop.is_phone(reg_phone)){
				shop.error.set('#reg_phone', 'Số điện thoại di động không hợp lệ', 430, '.register_form');
				return false;
			}else{
				shop.error.close('#reg_phone', '.register_form');
			}
			var email = shop.util_trim(jQuery('#reg_email').val());
			if(email == ''){
				shop.error.set('#reg_email', 'Chưa nhập email', 530, '.register_form');
				return false;
			}else if(!shop.is_email(email)){
				shop.error.set('#reg_email', 'Email không hợp lệ', 530, '.register_form');
				return false;
			}else{
				shop.error.close('#reg_email', '.register_form');
			}
	
			var pass = jQuery('#reg_pass').val();
			if(pass.length < 6){
				shop.error.set('#reg_pass', 'Mật khẩu tối thiểu phải có 6 kí tự', 530, '.register_form');
				jQuery('#reg_pass #reg_pass1').val('');
				return false;
			}
			if(pass == ''){
				shop.error.set('#reg_pass', 'Chưa nhập mật khẩu hoặc có chỉ có ký tự trắng', 530, '.register_form');
				jQuery('#reg_pass #reg_pass1').val('');
				return false;
			}
			if(shop.util_trim(pass) == ''){
				shop.error.set('#reg_pass', 'Không được bỏ trống trường mật khẩu hoặc dùng ký tự cách', 530, '.register_form');
				jQuery('#reg_pass #reg_pass1').val('');
				return false;
			}

			if (shop.customer.isNotSafePassword(pass)) {
				shop.error.set('#reg_pass', 'Mật khẩu quá đơn giản, không an toàn để sử dụng dịch vụ!', 530, '.register_form');
				return false;
			} else {
				shop.error.close('#reg_pass', '.register_form');
			}
			
			//pass = shop.util_trim(pass);
			shop.error.close('#reg_pass', '.register_form');
			var pass1 = jQuery('#reg_pass1').val();
			if(pass1 == ''){
				shop.error.set('#reg_pass1', 'Chưa nhập lại mật khẩu', 530, '.register_form');
				return false;
			}else if(pass != pass1){
				shop.error.set('#reg_pass1', 'Mật khẩu không khớp', 530, '.register_form');
				return false;
			}else{
				shop.error.close('#reg_pass1', '.register_form');
			}
	
			return true;
		},
		submit: function(){
			if(shop.customer.register.valid()){
				var post = {
					email: shop.util_trim(jQuery('#reg_email').val()),
					pass: shop.util_trim(jQuery('#reg_pass').val()),
					phone: shop.util_trim(jQuery('#reg_phone').val()),
					uname: shop.util_trim(jQuery('#reg_full_name').val())
					//address: shop.util_trim(jQuery('#reg_address').val()),
					//district: shop.util_trim(jQuery('#reg_listDistrict').val()),
					//city: shop.util_trim(jQuery('#city').val())
				};
	
				shop.ajax_popup('act=customer&code=valid_reg','GET',{email: post.email, phone: post.phone},function(json){
					if(json.email){
						var msg = json.email;
						if(json.block >= 1){
							msg = 'Email này đã được sử dụng và đang bị khóa. Nếu có bất cứ thắc mắc nào, xin Quý khách vui lòng liên hệ với Muachung.';
						}else if(json.active == 1){
							msg = 'Email này đã được sử dụng! Quý khách đã <a href="javascript:void(0)" onclick="shop.customer.register.showPassForm(\''+post.email+'\')">quên mật khẩu</a> ?';
						}else if(json.active == 0){
							msg = 'Email này đã được dùng và đang trong trạng thái chưa kích hoạt. Nếu quý khách đã dùng email này mua hàng trên Muachung.vn, vui lòng kiểm tra hòm thư hoặc <a href="javascript:void(0)" onclick="shop.customer.register.sendActiveEmail(\''+post.email+'\')">nhấn vào đây</a> để nhận lại email kích hoạt';
						}
						shop.error.set('#reg_email', msg, 530, '.register_form');
					}else if(json.phone){
						shop.error.set('#reg_phone', json.phone, 530, '.register_form');
					}else if(typeof json['new'] !== 'undefined' && json['new']){
						shop.error.set('#reg_phone', json['new'], 530, '.register_form');
					}else{
						shop.ajax_popup('act=customer&code=register','POST',post,
							function(json){
								if(json.err >= 0){
									//huy thong bao
									shop.customer.register.cancel();
									
									//do dac cua Duc
									if(RD_TOOLS == 1){
										try{
											_MA.register({
												sitekey	: 'mc',
												email	: post.email,
												uid	: json.cid
											});
										} catch (e) {}
									}
									//thanh cong
									if(json.active){
										alert(json.msg);
										window.location.reload();
									}else{
										//Dùng de kich hoat email
//										shop.show_overlay_popup('alert-register', 'Kích hoạt tài khoản qua Email',
//											shop.popupSite('alert-register', 'Kích hoạt tài khoản qua Email',shop.join
//											('<div class="p20" style="padding-bottom:5px">')
//												('<div style="font-size:16px"><b>Cám ơn Quý khách đã đăng kí tài khoản trên MuaChung</b></div>')
//												('<div class="mTop10">Email kích hoạt đã được gửi vào hòm thư <b style="font-size:16px;color:red">'+json.email+'</b></div>')
//												('<div class="mTop10">Vui lòng kiểm tra và <span style="color:red">bấm link kích hoạt</span>. Nếu Quý khách không thấy trong <b>Inbox</b> hãy kiểm tra <b>Thư rác/Spam/Junk mail</b></div>')
//												('<div class="mTop15" align="center"><table><tr><td><a class="blueButton" onclick="shop.hide_overlay_popup(\'alert-register\')" href="javascript:void(0)"><span><span>Đóng cửa sổ</span></span></a></td></tr></table></div>')
//											('</div>')()),
//											{
//												background: {
//													'background-color' : 'transparent'
//												},
//												border: {
//													'background-color' : 'transparent',
//													'padding' : '0px'
//												},
//												title: {
//													'display' : 'none'
//												},
//												content: {
//													'padding' : '0px',
//													'width' : '510px'
//												}
//											}
//										);
										//Dùng de kich hoat phone
										shop.show_overlay_popup('alert-enabled', 'Kích hoạt tài khoản',
											shop.popupSite('alert-enabled', 'Kích hoạt tài khoản',
												shop.customer.register.theme.acticephoneTheme(json.cid)),
												{
													background: {
														'background-color' : 'transparent'
													},
													border: {
														'background-color' : 'transparent',
														'padding' : '0px'
													},
													title: {
														'display' : 'none'
													},
													content: {
														'padding' : '0px',
														'width' : '510px'
													}
												}
										);
									}
								}else{
									if(shop.is_exists(json.email)){
										var msg = json.email;
										if(json.block >= 1){
											msg = 'Email này đã được sử dụng và đang bị khóa. Nếu có bất cứ thắc mắc nào, xin Quý khách vui lòng liên hệ với Muachung.';
										}else if(json.active == 1){
											msg = 'Email này đã được sử dụng! Quý khách đã <a href="javascript:void(0)" onclick="shop.customer.register.showPassForm(\''+post.email+'\')">quên mật khẩu</a> ?';
										}else if(json.active == 0){
											msg = 'Email này đã được dùng và đang trong trạng thái chưa kích hoạt. Nếu quý khách đã dùng email này mua hàng trên Muachung.vn, vui lòng kiểm tra hòm thư hoặc <a href="javascript:void(0)" onclick="shop.customer.register.sendActiveEmail(\''+post.email+'\')">nhấn vào đây</a> để nhận lại email kích hoạt';
										}
										shop.error.set('#reg_email', msg, 520, '.register_form');
									}else if(shop.is_exists(json.phone)){
										shop.error.set('#reg_phone', json.phone, 520, '.register_form');
									}else{
										shop.error.set('', json.msg, 520, '.register_form');
									}
								}
							}
						);
					}
				});
			}
		},
		activeEnabledPhone:function(type){
			var enabled = shop.util_trim(jQuery('#reg_enabled').val());
			var customerID = shop.util_trim(jQuery('#reg_code').val());
			shop.ajax_popup('act=customer&code=check-active-code','POST',{otp:enabled,code:customerID,type:type},
				function (j) {
					if (j.err == 0) {
						shop.hide_overlay_popup('alert-enabled');
						alert(' Bạn đã đăng ký thành công. Vui lòng kiểm tra email '+j.email+' và làm theo hướng dẫn để xác thực email.');
						window.location.href=j.link;
					}else{
						var msg = '';
						switch (j.msg){
							case 'no_otp':msg = 'Mã kích hoạt không hợp lệ!!!';break;
							case 'expired':msg = 'Mã kích hoạt đã hết hạn!!!';break;
							default:msg = j.msg;break;
						}
						alert(msg);
					}
				}
			);
		},
		showPassForm:function(email){
			shop.hide_overlay_popup('muachung-register');
			shop.customer.password.resendPassword(email);
		},
		sendActiveEmail:function(email, active){
			active = active ? active : 0;
			shop.ajax_popup('act=customer&code=email-active','GET',{email: email, active: active},function(j){
				if(j.err == 0){
					shop.hide_overlay_popup('muachung-register');
					alert('Email kích hoạt đã được gửi vào hòm thư:\n'+email+'\nVui lòng kiểm tra và kích hoạt tài khoản.');
				}else{
					alert('Có lỗi xảy ra! Vui lòng thực hiện lại thao tác.');
				}
			});
		},
		theme:{
			//Xong roi bo
			formold:function(id, title, close, opt, txt){
				var html = '', city = '<select name="city" id="city" onchange="shop.district.loadDistrictDropdown(this.value, \'reg_listDistrict\');">';
				city += '<option value="0"> Chọn tỉnh thành phố </option>';
				for(var i in city_list){
					city += '<option value="'+city_list[i].id+'">'+city_list[i].title+'</option>';
				}
				city += '</select>';
				
				html = shop.join
				('<form id="bm_register_form">')
					('<div class="content register_form" style="padding:1px 0 10px">')
						('<div id="cError"></div>')
						('<div class="reg_collapse">')
							('<div class="title">Thông tin tài khoản:</div>')
							('<table cellpadding="0" cellspacing="5">')
								('<tr>')
									('<td align="right" width="160">Email đăng nhập:</td>')
									('<td width="200"><input type="text" id="reg_email" name="email" /></td>')
									('<td>(<font color="red">*</font>)</td>')
								('</tr>')
								('<tr>')
									('<td align="right">Mật khẩu:</td>')
									('<td><input type="password" id="reg_pass" name="pass" /></td>')
									('<td>(<font color="red">*</font>)</td>')
								('</tr>')
								('<tr>')
									('<td align="right">Nhập lại mật khẩu:</td>')
									('<td><input type="password" id="reg_pass1" name="pass1" /></td>')
									('<td>(<font color="red">*</font>)</td>')
								('</tr>')
							('</table>')
						('</div>')
						('<div class="reg_collapse mTop5">')
							('<div class="title">')
								('<div class="fl">Thông tin cá nhân, địa chỉ chuyển hàng:</div>')
								('<a href="javascript:void(0)" class="fr" onclick="jQuery(\'#more_info\').slideToggle()">[mở rộng - thu gọn]</a>')
								('<div class="c"></div>')
							('</div>')
							('<table cellpadding="0" cellspacing="5" id="more_info" class="hidden">')
								('<tr>')
									('<td align="right" width="160">Họ tên:</td>')
									('<td width="200"><input type="text" id="reg_full_name" name="full_name" /></td>')
								('</tr>')
								('<tr>')
									('<td align="right">Địa chỉ nhận hàng:</td>')
									('<td><input type="text" id="reg_address" name="address" /></td>')
								('</tr>')
								('<tr>')
									('<td align="right">Tỉnh/Thành phố:</td>')
									('<td>'+city+'</td>')
								('</tr>')
								('<tr>')
									('<td align="right">Quận/Huyện/Phường:</td>')
									('<td class="customerRegister"><select id="reg_listDistrict" class="w290" name="district"></select></div></td>')
								('</tr>')
							('</table>')
						('</div>')
						('<div class="reg_collapse mTop5">')
							('<div class="title">Thông tin xác thực thanh toán:</div>')
							('<table cellpadding="0" cellspacing="5">')
								('<tr>')
									('<td align="right" width="160">Điện thoại di động:</td>')
									('<td width="200"><input type="text" id="reg_phone" name="phone" onkeypress="return shop.numberOnly(this,event)" /></td>')
									('<td>(<font color="red">*</font>)</td>')
								('</tr>')
								('<tr>')
									('<td>&nbsp;</td>')
									('<td colspan="2"><div style="color:#787878;font-size:11px;width:260px">(Quý khách phải nhập chính xác số điện thoại để nhận mã số phiếu mua hàng qua tin nhắn SMS)</div></td>')
								('</tr>')
							('</table>')
						('</div>')
						('<div class="mTop10 mLeft15">')
							('<input type="checkbox" id="reg_oke" />')
							('<span class="reg_oke" onclick="shop.customer.register.theme.check()">Tôi đã đọc và chấp nhận các <a href="trang-the-le.html" target="_blank">điểu khoản</a> và <a href="trang-quy-dinh-refund.html" target="_blank">quy định</a> của Muachung.vn</span>')
						('</div>')
						('<div class="mTop15">')
							('<div style="width:160px;margin:0 auto">')
								('<a id="fr" class="blueButton mLeft10"'+(shop.customer.login.conf.check_status==1?' style="display:none"':'')+' onclick="shop.customer.register.cancel()" href="javascript:void(0)"><span><span>Hủy bỏ</span></span></a>')
								('<a id="fr" class="blueButton mLeft10" onclick="shop.customer.register.submit()" href="javascript:void(0)"><span><span>Đăng kí</span></span></a>')
								('<a id="fr" class="blueButton"'+(shop.customer.login.conf.check_status==1?'':' style="display:none"')+' onclick="shop.customer.login.show()" href="javascript:void(0)"><span><span>Quay lại</span></span></a>')
								('<div class="c"></div>')
							('</div>')
						('</div>')
					('</div>')
				('</form>')();
				if(txt){
					return html;
				}
				return shop.popupSite(id, title, html, close, opt);
			},
			form:function(id, title, close, opt, txt){
				var html = '';
				html = shop.join
				('<form id="bm_register_form">')
					('<div class="content register_form" style="padding:1px 0 10px" align="center">')
						('<div id="cError"></div>')
						('<div class="mTop10">')
							('<div class="mTop15 mBottom10" align="center"><b>Bạn vui lòng nhập thông tin đăng ký</b></div>')
							('<table cellpadding="0" cellspacing="5" width="100%">')
								('<tr>')
									('<td align="left" width="161"><span class="mLeft40">Họ tên:</span></td>')
									('<td align="left" width="280"><input style="font-size:14px;color:#666666;border:1px solid #cccccc;width:270px;padding-left:8px;height:31px;line-height:31px" type="text" id="reg_full_name" name="reg_full_name" /></td>')
									('<td align="left" width="161"></td>')
								('</tr>')
								('<tr>')
									('<td align="left"><span class="mLeft40">Di động:</span></td>')
									('<td align="left"><input style="font-size:14px;color:#666666;border:1px solid #cccccc;width:270px;padding-left:8px;height:31px;line-height:31px" type="text" id="reg_phone" name="phone" onkeypress="return shop.numberOnly(this,event)" /></td>')
									('<td></td>')
								('</tr>')
								('<tr>')
									('<td align="left"><span class="mLeft40">Email:</span></td>')
									('<td align="left"><input style="font-size:14px;color:#666666;border:1px solid #cccccc;width:270px;padding-left:8px;height:31px;line-height:31px" type="text" id="reg_email" name="email" /></td>')
									('<td></td>')
								('</tr>')
								('<tr>')
									('<td align="left"><span class="mLeft40">Mật khẩu:</span></td>')
									('<td align="left"><input style="font-size:14px;color:#666666;border:1px solid #cccccc;width:270px;padding-left:8px;height:31px;line-height:31px" type="password" id="reg_pass" name="pass" /></td>')
									('<td></td>')
								('</tr>')
								('<tr>')
									('<td align="left"><span class="mLeft40">Nhập lại mật khẩu:</span></td>')
									('<td align="left"><input style="font-size:14px;color:#666666;border:1px solid #cccccc;width:270px;padding-left:8px;height:31px;line-height:31px" type="password" id="reg_pass1" name="pass1" /></td>')
									('<td></td>')
								('</tr>')
								('<tr>')
									('<td align="left" colspan="3" class="pTop10"><span class="mLeft40">Bằng việc bấm đăng ký bạn đã chấp nhận các <a style="color:blue" href="trang-the-le.html" target="_blank">điểu khoản</a> và <a style="color:blue" href="trang-quy-dinh-refund.html" target="_blank">quy định</a> của Muachung</span></td>')
								('</tr>')
								('<tr>')
									('<td align="left"></td>')
									('<td align="left">')
										('<a id="fl" class="v7_blueButton mTop15" onclick="shop.customer.register.submit()" href="javascript:void(0)" style="width:250px"><span><span >Đăng kí</span></span></a>')
									('</td>')
									('<td></td>')
								('</tr>')
							('</table>')
						('</div>')
						('<div class="mTop10" style="border-top:1px solid #B9B9B9;height:1px;width:87%">&nbsp;</div>')
						('<div class="mTop10" align="center" style="color:#000;margin-left:-8px">')
							('Đã có tài khoản? <a onclick="shop.customer.login.show()" href="javascript:void(0)"> Đăng nhập </a>')
						('</div>')
						('<div class="mTop10 mBottom5" align="center" style="color:#000;margin-left:-8px">')
							('Quên mật khẩu? <a onclick="shop.customer.password.resendPassword()" href="javascript:void(0)">Lấy lại mật khẩu</a>')
						('</div>')
					('</div>')
				('</form>')();
				if(txt){
					return html;
				}
				return shop.popupSite(id, title, html, close, opt);
			},
			check:function(){
				var c = shop.get_ele('reg_oke');
				if(c){
					c.checked = !c.checked
				}
			},
			acticephoneTheme:function(cid){
				var html = '';
				html = shop.join
				('<div class="p20" style="padding-bottom:5px" align="center">')
					('<div style="font-size:14px"><b>Quý khách kiểm tra tin nhắn SMS để lấy mã kích hoạt</b></div>')
					('<div id="cError"></div>')
					('<div class="reg_collapse mTop15 f13" align="center">')
						('<table cellpadding="0" cellspacing="5">')
							('<tr>')
								('<td align="right" width="30%">Mã kích hoạt</td>')
								('<td align="left"><input type="text" id="reg_enabled" name="reg_enabled" /><input class="mLeft20" type="hidden" id="reg_code" name="reg_code" value="'+cid+'" /></td>')
								('<td align="left" width="30%"></td>')
							('</tr>')
							('<tr>')
								('<td align="left"></td>')
								('<td align="left">')
									('<a class="v7_blueButton mTop10 mBottom10" style="width:184px;color:#FFF;font-size:16px" onclick="shop.customer.register.activeEnabledPhone(1)" href="javascript:void(0)"><span><span>Kích hoạt</span></span></a>')
								('</td>')
								('<td align="left"></td>')
							('</tr>')
						('</table>')
				('</div>')();
				return html;
			}
		}
	},
	loginMixReg:{
		show:function(){
			shop.customer.login.show();
		}
	},
	promo:{
		subRegister: function(frm, resend){
			if(resend){
				jQuery('#resend').val(resend);
			}
			frm.submit();
		}
	}
};
jQuery(document).ready(function(){
	if(IS_ACTIVE_PHONE != 1){
		shop.customer.active.phone();
	}
});


shop.customer.loginToOrder = function() {
	var who = $('input[name="preparing-who"]:checked').val();
	if (typeof who === 'undefined') {
		alert('Vui lòng chọn đăng nhập hay đăng ký tài khoản');
		return;
	}
	
	if (who == 'user') {
		// Co tai khoan de dang nhap
		LOGIN_TO_ORDER = 1;
		var phone = $('#preparing_phone').val();
		var pass = $('#preparing_pass').val();
		
		if (phone == '') {
			alert('Vui lòng nhập số điện thoại');
			$('#preparing_phone').focus();
			return;
		}
		
		if (!shop.is_phone(phone)) {
			alert('Số điện thoại không hợp lệ');
			$('#preparing_phone').focus();
			return;
		}
		
		if (pass == '') {
			alert('Vui lòng nhập mật khẩu');
			$('#preparing_pass').focus();
			return;
		}
		
		if (pass.length < 6) {
			alert('Mật khẩu tối thiểu phải có 6 kí tự!');
			$('#preparing_pass').focus();
			return;
		}
				
		shop.customer.login.submit('preparing_phone','preparing_pass','preparing_save_login','FROM_ORDER');
	} else {
		// Chua co tai khoan
		var phone = $('#preparing_phone').val();
		if (!shop.is_phone(phone)) {
			alert('Vui lòng nhập số điện thoại hợp lệ');
			$('#preparing_phone').focus();
			return;
		}
		
		var post = {phone: phone};
		shop.ajax_popup('act=customer&code=checkUsedPhone', 'POST', post, function(j) {
			if (j.err == 0) {
			//	alert('Ok');
				shop.customer.stepEnterRegCode();
			} else {
				switch (j.msg) {
					case 'exists':
						alert('Số điện thoại đã có người dùng rồi!');
						break;
					case 'stop':
						alert('Số điện thoại này đã có quá nhiều lần yêu cầu tạo tài khoản!');
						break;
					default:
						alert('Có lỗi xảy ra. Vui lòng thử lại sau!');
				}
			}
		});
	}
};


shop.customer.stepEnterRegCode = function() {
	var id = 'customer-enterCode', title = 'Đăng ký';
	var phone = $('#preparing_phone').val();
	var tpl = shop.popupSite(id, title, shop.join
		('<div class="content" style="padding: 20px 10px;line-height:24px; color: #333333">')
			('<form onsubmit="shop.customer.processCheckRegCode();return false;">')
			('<div style="text-align:center;margin-bottom:10px">Mua chung đã gửi mật khẩu cho bạn qua SMS. Nhập mật khẩu để tiếp tục</div>')
			('<div style="text-align:center">')
				('<table width="100%" align="center">')
					('<tr><td width="221" align="right">Điện thoại:</td><td align="center" width="280">')
						('<input style="color:#666666;width:270px;height:31px;padding-left:8px;font-size:18px;border:1px solid #cccccc" type="text" value="' + phone + '" readonly="" id="regSMSPhone">')
						('</td>')
						('<td>&nbsp;</td>')
					('</tr>')
					('<tr><td width="221" align="right">Mật khẩu:</td><td align="center">')
						('<input style="color:#666666;width:270px;height:31px;padding-left:8px;font-size:18px;border:1px solid #cccccc" type="password" id="regSMSCode">')
					('</td>')
						('<td>&nbsp;</td>')
					('</tr>')
					('<tr><td>&nbsp;</td><td align="center">')
					//('<a style="display:inline-block;padding:5px 20px;font-size:14px;font-weight:bold;color:white;text-decoration:none;background-color:#00b285;border-radius:4px;border:1px solid #009b74" onclick="shop.customer.processCheckRegCode();" href="javascript:void(0);">Tiếp tục</a>')
					
					('<a class="box-next-btn" onclick="shop.customer.processCheckRegCode();" href="javascript:void(0)" style="margin-top:10px">')
						('<span class="bnbLeft"></span>')
						('<span class="bnbMiddle" style="width:230px">Tiếp tục</span>')
						('<span class="bnbRight"></span>')
					('</a>')
					('')
					('</td>')
					('<td>&nbsp;</td>')
					('</tr>')
				('</table>')
			('</div>')
			('<input type="submit" style="display:none" />')
			('</form>')
		('</div>')
		());
					
	shop.show_overlay_popup(id,title, tpl,
		{
			background: {
				'background-color' : 'transparent'
			},
			border: {
				'background-color' : 'transparent',
				'padding' : '0px'
			},
			title: {
				'display' : 'none'
			},
			content: {
				'padding' : '0px',
				'width' : '756px',
				'font-size': '14px'
			}
		});
};

shop.customer.processCheckRegCode = function() {
	var code = $('#regSMSCode').val();
	var phone = $('#regSMSPhone').val();
	if (code == '' || code.length != 6) {
		alert('Mật khẩu không đúng');
		$('#regSMSCode').focus();
		return;
	}
	var post = {phone: phone, sms_code: code};
	shop.ajax_popup('act=customer&code=checkRegSMSCode','POST',post,
			function(j){
				if (j.err === 0) {
					shop.customer.stepEnterInfo();
				} else {
					alert('Mật khẩu xác nhận không đúng');
				}
			}
	);
};

shop.customer.stepEnterInfo = function(from) {
	if (typeof from == 'undefined') {
		from = 'DEFAULT';
	}
	// Cac gia tri: DEFAULT, FACE_BOOK
	var phoneCurrent = '', emailCurrent = '', codeCurrent = '';
	if (from === 'DEFAULT') {
		codeCurrent = $('#regSMSCode').val();
		phoneCurrent = $('#regSMSPhone').val();
	} else if (from === 'FACE_BOOK') {
		emailCurrent = EMAIL_LOGIN_FACEBOOK;
	}
	
	var id = 'customer-enterInfo', title = 'Đăng ký';
	var codAtFromCookie = shop.cookie.get(shop.cLib.guest.cookie_name.cod_at);
	var optionTimeReceive = shop.join
			('<tr>')
				('<td width="170">Bạn muốn nhận hàng:</td>')
				('<td ><div class="fl" style="margin:7px 0"><input id="cod_at_office" style="border:0px;width:auto;height:auto" type="radio" value="office" name="cart_cod_at" '+ (codAtFromCookie == 'office' ? 'checked' : '') +' /></div> <div class="fl"  style="margin:5px"><label for="cod_at_office">Giờ hành chính - làm việc</label></div><div class="c"></div></td>')
			('</tr>')
			
			('<tr>')
				('<td width="170"></td>')
				('<td ><div class="fl" style="margin:7px 0"><input id="cod_at_home" style="border:0px;width:auto;height:auto" type="radio" value="home" name="cart_cod_at" '+ (codAtFromCookie == 'home' ? 'checked' : '') +' /></div> <div class="fl" style="margin:5px"> <label for="cod_at_home">Ngoài giờ hành chính</i></label></div> </div><div class="c"></div> </td>')
			('</tr>')
			();
	var fname = shop.join
			('<tr>')
				('<td width="170">Họ và tên:</td>')
				('<td><input style="width:264px;height:29px;line-height:29px;font-size:14px; color:#666666" type="text" id="cart_fullname" name="fullname" value="" /></td>')
			('</tr>')(),
			phone = shop.join
			('<tr>')
				('<td>Điện thoại:</td>')
				('<td><input type="hidden" id="cart_smsCode" name="smsCode" value="' +codeCurrent+ '" />')
				('<input style="width:264px;height:29px;line-height:29px;font-size:14px; color:#666666" type="text" id="cart_tel" name="tel" value="' + phoneCurrent + '" maxlength="20" onkeypress="return shop.numberOnly(this, event)" /> <span style="padding-left:20px;height:29px;line-height:29px;display:inline-block;color: rgb(255, 0, 0);"><em>Dùng để liên hệ giao hàng</em></span></td>')
			('</tr>')(),
			email = shop.join
			('<tr>')
				('<td>Email:</td>')
				('<td><input style="width:264px;height:29px;line-height:29px;font-size:14px; color:#666666" type="text" id="cart_email" name="email" value="' + emailCurrent + '" /></td>')
			('</tr>')(),
			address = shop.join
			('<tr>')
				('<td>Số nhà - ngõ - ngách:</td>')
				('<td><input style="width:264px;height:29px;line-height:29px;font-size:14px; color:#666666" type="text" id="cart_address" name="address" value="" /></td>')
			('</tr>')
			(optionTimeReceive)
			(),
			street = shop.join
			('<tr>')
				('<td>Đường/Phố:</td>')
				('<td><input style="width:264px;height:29px;line-height:29px;font-size:14px; color:#666666" type="text" id="cart_street" name="street" value="" /></td>')
			('</tr>')(),
			city = '',
			district = shop.join
			('<tr>')
				('<td id="disTitle">Quận/Huyện:</td>')
				('<td><select style="border:1px solid #a6a6a6;height:35px;width:280px;font-size:14px; color:#666666; padding-top:10px" id="listDistrict" name="district" onchange="shop.cart.loadWardToSuggest(this);shop.cart.loadStreetToSuggest(this);"></select></td>')
			('</tr>')(),
			ward = shop.join
			('<tr>')
				('<td id="wardTitle">Xã/Phường:</td>')
				('<td><select style="border:1px solid #a6a6a6;height:35px;width:280px;font-size:14px; color:#666666; padding-top:10px" id="cart_newWard" name="card_newWard"></select></td>')
			('</tr>')(),
			cityList = '<select style="border:1px solid #a6a6a6;height:35px;width:280px;font-size:14px; color:#666666; padding-top:10px" name="city" id="cart_city" onchange="shop.district.loadDistrictDropdown(this.value, \'listDistrict\', shop.cart.theme.changeCity, \''+((shop.cart.conf.user.type == 'customer') ? shop.cart.conf.customer.district : shop.cart.conf.user.district)+'\')">';
						
			//make city list
			var opt1 = '', opt2 = '';
			for(var i in city_list){
				if(city_list[i].status == 1){
					opt1 += '<option value="'+city_list[i].id+'"'+(shop.cart.conf.user.city==i&&!shop.cart.conf.addbook?' selected':'')+'>'+city_list[i].title+'</option>';
					//province_active[i] = city_list[i].title;
				}else{
					opt2 += '<option value="'+city_list[i].id+'"'+(shop.cart.conf.user.city==i&&!shop.cart.conf.addbook?' selected':'')+'>'+city_list[i].title+'</option>';
				}
			}
			cityList += shop.join
				('<option value="0">--- Chọn Tỉnh/Thành ---</option>')
				('<optgroup label="Tỉnh/Thành có VP MuaChung">'+opt1+'</optgroup>')
				('<optgroup label="Các Tỉnh/Thành khác">'+opt2+'</optgroup>')
			('</select>')();
			
			city = shop.join
			('<tr>')
				('<td>Tỉnh/Thành:</td>')
				('<td>'+cityList+'</td>')
			('</tr>')();

			var tpl = shop.popupSite(id, title, shop.join
			('<div class="content" style="padding:15px; line-height:24px;color:#333333">')
				('<table width="100%"><tr><td width="100%">')
				('<div class="reg_cart_form">')
					('<form name="cartRegisterForm" id="cartRegisterForm">')
						('<div style="font-size:18px; color:#177fc2">Thông tin mua hàng</div>')
						('<div class="cartNewForm">')
							('<div id="cError"></div>')
							('<div class="infoUser">')
								('<div style="padding-left:15px">')
									('<table cellpadding="3" cellspacing="0" border="0">'+fname+phone+email+'</table>')
								('</div>')
							('</div>')
							('<div class="infoAddress">')
								
								('<div style="padding-left:15px">')
									('<table cellpadding="3" cellspacing="0" border="0">'+city+district+street+ward+address+'</table>')
								('</div>')
							('</div>')
							('<div class="c"></div>')
						('</div>')
					('</form>')
					('<div class="mTop10" style="padding-left:15px">')

						('<a class="box-next-btn" onclick="shop.customer.processSaveInfo(\'' + from + '\');" href="javascript:void(0);">')
							('<span class="bnbLeft"></span>')
							('<span class="bnbMiddle" style="width:120px">Tiếp tục</span>')
							('<span class="bnbRight"></span>')
						('</a>')
						
						('<div class="c"></div>')
					('</div>')
					('<div class="c"></div>')
				('</div>')
				('</td></tr></table>')
			('</div>')());
					
	shop.show_overlay_popup(id,title, tpl,
		{
			background: {
				'background-color' : 'transparent'
			},
			border: {
				'background-color' : 'transparent',
				'padding' : '0px'
			},
			title: {
				'display' : 'none'
			},
			content: {
				'padding' : '0px',
				'width' : '730px',
				'font-size': '14px'
			},
			release:function(){
				shop.district.loadDistrictDropdown(shop.cart.conf.user.city, 'listDistrict', function(def){
							if(shop.is_exists(shop.district.listDistrictDropdown[def]) && shop.is_exists(shop.district.listDistrictDropdown[def].in_area)){
								shop.cart.conf.shipping.in_area = shop.district.listDistrictDropdown[def].in_area;
							}
							shop.cart.loadWardToSuggest($('#listDistrict').get(0));
							shop.cart.loadStreetToSuggest($('#listDistrict').get(0));
						}, shop.cart.conf.user.district);
			}
		});
};

shop.customer.processSaveInfo = function(from) {
	var frm = document.cartRegisterForm, fname = '',tel  = '',email = '',address = '', city = 0, district = '', street = '', ward = '';
	
	var widthErrorBox = 330;
	//ho va ten
	if(frm.cart_fullname){
		fname = shop.util_trim(frm.cart_fullname.value);
		if(fname == ''){
			shop.error.set('#'+frm.cart_fullname.id, 'Chưa nhập họ tên', widthErrorBox, '.reg_cart_form');return;
		}else if(fname.length < 3){
			shop.error.set('#'+frm.cart_fullname.id, 'Họ tên tối thiểu là 3 kí tự', widthErrorBox, '.reg_cart_form');return;
		}
		else if(fname.match(/[\.,',",>,<,=,&,?,!,~,%,+,{,},\[,\],|,`,(,),@,#,$,^,*,-,\/,\\,\,]/i) != null){
			shop.error.set('#'+frm.cart_fullname.id, 'Họ tên không chứa các kí tự đặc biệt', widthErrorBox, '.reg_cart_form');return;
		}
		else{
			shop.error.close('#'+frm.cart_fullname.id, '.reg_cart_form');
		}
	}
	//so dien thoai
	if(frm.cart_tel){
		tel = shop.util_trim(frm.cart_tel.value);
		if(tel == ''){
			shop.error.set('#'+frm.cart_tel.id, 'Chưa nhập Số điện thoại', widthErrorBox, '.reg_cart_form');return;
		}
		else if(!shop.is_phone(frm.cart_tel.value)){
			shop.error.set('#'+frm.cart_tel.id, 'Số điện thoại di động không hợp lệ', widthErrorBox, '.reg_cart_form');return;
		}
		else{
			shop.error.close('#'+frm.cart_tel.id, '.reg_cart_form');
		}
	}
	//email
	if(frm.cart_email){
		email = shop.util_trim(frm.cart_email.value);
		if(email == ''){
			shop.error.set('#'+frm.cart_email.id, 'Chưa nhập địa chỉ email', widthErrorBox, '.reg_cart_form');return;
		}else if(!shop.is_email(email)){
			shop.error.set('#'+frm.cart_email.id, 'Địa chỉ email không hợp lệ', widthErrorBox, '.reg_cart_form');return;
		}
		else{
			shop.error.close('#'+frm.cart_email.id, '.reg_cart_form');
		}
	}
	//dia chi nhan hang
	if(frm.cart_address){
		address = shop.util_trim(frm.cart_address.value);
		if(address == '' || address == null || address == 'undefined' || address == undefined){
			shop.error.set('#'+frm.cart_address.id, 'Chưa nhập Địa chỉ', widthErrorBox, '.reg_cart_form');return;
		}else if(address.match(/[<>]/i) != null){
			shop.error.set('#'+frm.cart_address.id, 'Kí tự "<" & ">" không hợp lệ, vui lòng nhập lại', widthErrorBox, '.reg_cart_form');
			return;
		}else{
			shop.error.close('#'+frm.cart_address.id, '.reg_cart_form');
		}
	}
	//thong tin duong pho
	if(frm.cart_street){
		street = shop.util_trim(frm.cart_street.value);
		if(street == '' || street == null || street == 'undefined' || street == undefined){
			shop.error.set('#'+frm.cart_street.id, 'Chưa nhập Đường/Phố', widthErrorBox, '.reg_cart_form');return;
		}else if(street.match(/[<>]/i) != null){
			shop.error.set('#'+frm.cart_street.id, 'Kí tự "<" & ">" không hợp lệ, vui lòng nhập lại', widthErrorBox, '.reg_cart_form');return;
		}else{
			shop.error.close('#'+frm.cart_street.id, '.reg_cart_form');
		}
	}
	//thong tin tinh thanh pho
	if(frm.cart_city){
		city = parseInt(frm.cart_city.value);
		if(city <= 0){
			shop.error.set('#'+frm.cart_city.id, 'Chưa chọn Tỉnh/Thành', widthErrorBox, '.reg_cart_form');return;
		}else{
			shop.error.close('#'+frm.cart_city.id, '.reg_cart_form');
		}
	}
	//thong tin quan/huyen
	if(frm.district){
		district = shop.util_trim(frm.district.value);
		if(district <= 0){
			shop.error.set('#'+frm.district.id, 'Chưa chọn Quận/Huyện', widthErrorBox, '.reg_cart_form');return;
		}else{
			shop.error.close('#'+frm.district.id, '.reg_cart_form');
		}
	}

	if(frm.cart_newWard){ 
		ward = frm.cart_newWard.value;
		ward = ward.replace(/</g, '&gt;');
		ward = shop.util_trim(ward);
		if(ward == '' && !shop.district.isCityNotRequireWardInfo(frm.cart_city.value)){
			shop.error.set('#'+frm.cart_newWard.id, 'Chưa nhập Xã/Phường', widthErrorBox, '.reg_cart_form');return;
		}else{
			shop.error.close('#'+frm.cart_newWard.id, '.reg_cart_form');
		}
	}

	// Kiem tra duong pho doi voi Ha Noi
	if (city == '22') {
		var stop = false;
		shop.show_loading();
		$.ajax({
			async: false,
			type: "POST",
			url: "ajax.php?act=customer&code=getStreetId",
			data: {
				street: street,
				district_id: frm.district.value
			},
			timeout: 4000,
			cache: true,
			dataType: "json",
			success: function(obj){
				if (obj.err == 0) {
					if (obj.id == 0) stop = true;
				} else {
					stop = true;
				}
			},
			error: function() {stop = true;}
		}
		);		
		shop.hide_loading();
		if (stop) {
			shop.error.set('#'+frm.cart_street.id, 'Mời quý khách nhập đúng tên Quận - đường phố để Muachung có thể giao hàng được tận nơi', widthErrorBox, '.reg_cart_form');return;
		} else {
			shop.error.close('#'+frm.cart_street.id, '.reg_cart_form');
		}
	}
	
	var codAt = $('input[name="cart_cod_at"]:checked').val();
	if (typeof codAt === 'undefined') codAt = 'office';
	if (codAt == 'home' || codAt == 'office') {
		shop.cookie.set(shop.cLib.guest.cookie_name.cod_at, codAt, 86400*30*12, '/');
	}
	
	var post = {
		name: fname,
		email: email,
		phone: tel,
		city: city,
		district: frm.district.options[frm.district.selectedIndex].innerHTML,
		street: street,
		ward: ward,
		address: address,
		smsCode: frm.smsCode.value
	};
	if (typeof from === 'undefined' || from === 'DEFAULT') {
		shop.ajax_popup('act=customer&code=registerToBuy', 'POST', post, function(j) {
			if (j.err == 0) {
				var urlCurrent = new String(location.href);
				if (urlCurrent.indexOf('?') == -1) {
					location.href = urlCurrent + '?auto_popup_order=1';
				} else {
					if (urlCurrent.indexOf('auto_popup_order=') != -1) {
						location.href = urlCurrent.replace(/auto_popup_order=[0-9]?/, 'auto_popup_order=1');
					} else {
						location.href = urlCurrent + '&auto_popup_order=1';
					}
				}
			} else {
				switch (j.msg) {
					case 'email_exists':
						alert('Email đã có người sử dụng');
						break;
					case 'phone_exists':
						alert('Số điện thoại đã có người sử dụng');
						break;
					case 'insert_fail':
						alert('Tạo tài khoản bị lỗi. Vui lòng thử lại sau!');
						break;
					case 'wrong_phone':
						alert('Số điện thoại không khớp với số điện thoại đã nhận mật khẩu');
						break;
					case 'invalid_email':
						alert('Địa chỉ email không hợp lệ');
						break;
					default:
						alert('Có lỗi xảy ra. Vui lòng thử lại sau!');
				}
			}
		});
	} else if (from === 'FACE_BOOK') {
		shop.ajax_popup('act=customer&code=registerFromFacebook', 'POST', post, function(j) {
			if (j.err == 0) {
				shop.customer.stepEnterRegFacebookCode();
			} else {
				switch (j.msg) {
					case 'email_exists':
						alert('Email đã có người sử dụng');
						break;
					case 'phone_exists':
						alert('Số điện thoại đã có người sử dụng');
						break;
					case 'insert_fail':
						alert('Tạo tài khoản bị lỗi. Vui lòng thử lại sau!');
						break;
					case 'wrong_email':
						alert('Email đăng ký phải là email tương ứng với tài khoản Facebook của bạn');
						break;
					case 'invalid_session':
						alert('Phiên làm việc đã hết thời gian. Vui lòng thao tác lại từ đầu!');
						break;
					default:
						alert('Có lỗi xảy ra. Vui lòng thử lại sau!');
				}
			}
		});
	} else {
		alert('???');
	}
};

shop.customer.stepEnterRegFacebookCode = function() {
	var id = 'customer-enterCode', title = 'Đăng ký';
	
	var tpl = shop.popupSite(id, title, shop.join
		('<div class="content" style="padding: 20px 10px;line-height:24px; color: #333333">')
			('<form onsubmit="shop.customer.processCheckRegFacebookCode();return false;">')
			('<div style="text-align:center;margin-bottom:10px">Mua chung đã gửi mật khẩu cho bạn qua SMS. Nhập mật khẩu để tiếp tục</div>')
			('<div style="text-align:center">')
				('<table width="100%" align="center">')
					('<tr><td width="276" align="right">Mật khẩu:</td><td align="center" width="170">')
						('<input style="color:#666666;width:160px;height:31px;padding-left:8px;font-size:18px;border:1px solid #cccccc" type="password" id="regFacebookCode">')
					('</td>')
					('<td>&nbsp;</td>')
					('</tr>')
					('<tr><td>&nbsp;</td><td align="center">')					
					('<a class="box-next-btn" onclick="shop.customer.processCheckRegFacebookCode();" href="javascript:void(0)" style="margin-top:10px">')
						('<span class="bnbLeft"></span>')
						('<span class="bnbMiddle" style="width:120px">Tiếp tục</span>')
						('<span class="bnbRight"></span>')
					('</a>')
					
					('</td>')
					('<td>&nbsp;</td>')
					('</tr>')
				('</table>')
			('</div>')
			('</form>')
		('</div>')
		());
					
	shop.show_overlay_popup(id,title, tpl,
		{
			background: {
				'background-color' : 'transparent'
			},
			border: {
				'background-color' : 'transparent',
				'padding' : '0px'
			},
			title: {
				'display' : 'none'
			},
			content: {
				'padding' : '0px',
				'width' : '756px',
				'font-size': '14px'
			}
		});
};

shop.customer.processCheckRegFacebookCode = function() {
	var code = $('#regFacebookCode').val();
	if (code == '' || code.length != 6) {
		alert('Mật khẩu không đúng');
		$('#regFacebookCode').focus();
		return;
	}
	var post = {sms_code: code};
	shop.ajax_popup('act=customer&code=activeRegFromFacebook','POST',post,
			function(j){
				if (j.err === 0) {
					//alert('Đăng nhập xong. Reload lại trang');
					var urlCurrent = new String(document.URL);
					var urlRedirect = urlCurrent;
					var pos = urlCurrent.indexOf('?');
					if (pos != -1) {
						urlRedirect = urlCurrent.substr(0, pos);
					}
					location.href = urlRedirect + '?auto_popup_order=1&rand=' + Math.random();
				} else {
					alert('Mật khẩu xác nhận không đúng');
				}
                                
                                
			}
	);
};